#include<stdio.h>
#include<math.h>
int gcb(int x,int y){
	while(y!=0)
		return gcb(y,x%y);
	return x;
}
int main(){
	int num,k,i;
	scanf("%d",&num);
	k=sqrt(num);
	for(i=2;i<=k;i++)
		if(num%i==0)break;
	//判断是否为素数
	if(i>k){
		//欧拉函数为p-1
		int p = num-1;
		for(int j=2;j<=p;j++)
			printf("%d^%dmod%d=1\n",j,p,num);
	}
	else {
		int count=1;
		int array[num-1];
		//用辗转相除法统计欧拉函数
		for(int j=2;j<num;j++)
			//并记录互素
			if(gcb(num,j)==1){
				array[count]=j;
				count++;
			}
		for(int n=1;count>n;n++)
			printf("%d^%dmod%d=1\n",array[n],count,num);
	}
		
	return 0;
}
